Skip to content

Add support for certificate authentication - #73

Merged
stevetemple merged 3 commits into
mainfrom
feature/cert-auth
Jul 30, 2026
Merged

Add support for certificate authentication#73
stevetemple merged 3 commits into
mainfrom
feature/cert-auth

Conversation

@stevetemple

@stevetemple stevetemple commented Jul 30, 2026

Copy link
Copy Markdown
Member

Describe your changes

Add another option for auth: certificates

Mainly to allow local development without needing client secrets

Checklist before requesting a review

  • I have performed a self-review of my code

Copilot AI review requested due to automatic review settings July 30, 2026 09:44
@stevetemple
stevetemple merged commit 11be7e0 into main Jul 30, 2026
2 checks passed
@stevetemple
stevetemple deleted the feature/cert-auth branch July 30, 2026 09:45

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new credential mode (Certificate) to the AzureSSO package so apps can authenticate to Entra ID using a certificate from the local certificate store (useful for scenarios like local development without client secrets).

Changes:

  • Introduces CredentialType.Certificate and new configuration fields (CertificateThumbprint, CertificateStorePath).
  • Wires certificate-based client credentials into the Microsoft Identity configuration.
  • Updates schema + READMEs to document the new credential option.

Reviewed changes

Copilot reviewed 10 out of 10 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
src/Umbraco.Community.AzureSSO/Settings/AzureSSOSettings.cs Exposes certificate settings via the settings wrapper.
src/Umbraco.Community.AzureSSO/MicrosoftAccountAuthenticationExtensions.cs Adds certificate credential mapping into Microsoft Identity options.
src/Umbraco.Community.AzureSSO/CredentialType.cs Adds new enum value Certificate.
src/Umbraco.Community.AzureSSO/AzureSSOConfiguration.cs Adds certificate config properties and validation.
src/Umbraco.Community.AzureSSO/appsettings-schema.UmbracoCommunityAzureSSO.json Documents certificate settings + expands enum values in schema.
README.md Documents certificate mode and updates credential-type guidance.
README-v15plus.md Updates text noting client secret not required when using certificate.
README-v14plus.md Updates text noting client secret not required when using certificate.
README-v13.md Updates text noting client secret not required when using certificate.
README-uptov12.md Updates text noting client secret not required when using certificate.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +142 to +152
case CredentialType.Certificate:
options.ClientCredentials = new[]
{
new CredentialDescription
{
SourceType = CredentialSource.StoreWithThumbprint,
CertificateStorePath = string.IsNullOrEmpty(settings.CertificateStorePath) ? "CurrentUser/My" : settings.CertificateStorePath,
CertificateThumbprint = settings.CertificateThumbprint,
}
};
break;
Comment on lines 107 to 109
(CredentialType != CredentialType.Secret || !string.IsNullOrEmpty(ClientSecret)) &&
(CredentialType != CredentialType.Certificate || !string.IsNullOrEmpty(CertificateThumbprint)) &&
!string.IsNullOrEmpty(CallbackPath) &&
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants